package invoker;

import org.junit.Test;
import junit.framework.TestCase;
import commandConcrete.*;
import commandInterface.Command;

import receiver.Buffer;
import utils.Selection;

public class testIHM  extends TestCase{
	
	@Test
	public void testSelectionner() throws UnsupportedOperationException{
		IHM ihm = new IHM();
		Buffer b = new Buffer();
		
		Command copier = new Copier(b);
		Command inserer = new Inserer(b,ihm);
		Command couper = new Couper(b);
		Command coller = new Coller(b);
		Command curseur = new Curseur(b,ihm);
		Command effacer = new Curseur(b,ihm);
		Selection s = new Selection(0,0);
		
		ihm.setCopier(copier);
		ihm.setInserer(inserer);
		ihm.setColler(coller);
		ihm.setCouper(couper);
		ihm.setSelection(s);
		ihm.selectionner(0, 5);
		ihm.setCurseur(curseur);
		ihm.setEffacer(effacer);
		
		b.setSelection(s);
		
		ihm.setTexte("c'est les vacances");
		ihm.inserer();
		ihm.copier();
		
		assertEquals(b.getZoneTxt().toString(),"c'est les vacances");
		assertEquals(b.getPp().getZoneTxt().toString(),"c'est");
		
		ihm.couper();
		
		assertEquals(b.getZoneTxt().toString()," les vacances");
		
		ihm.setPositionCurseur(0);
		
		ihm.coller();
		System.out.println(b.getCurseur());
		
		assertEquals(b.getZoneTxt().toString(),"c'est les vacances");

		
		ihm.effacer();
		System.out.println(b.getCurseur());
		assertEquals(b.getZoneTxt().toString(),"c'es les vacances");
		
		
		
	}
}
